package com.jixi.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jixi.common.result.Result;
import com.jixi.pojo.entity.Setmeal;
import com.jixi.pojo.vo.SetmealAndOrderInfoVO;
import jakarta.servlet.http.HttpServletResponse;

import java.io.IOException;

public interface SetmealService extends IService<Setmeal> {
    
    /**
     * 导出各套餐统计详细excel
     */
    void downloadSetmeal(HttpServletResponse response) throws IOException;
    
    /**
     * 通过套餐id查询套餐信息
     *
     * @param setmealId 套餐id
     * @return 套餐信息
     */
    Setmeal getSetMealInfoById(Long setmealId);
    
    /**
     * 审核套餐
     *
     * @param setmealId      套餐id
     * @param auditStatus    审核状态
     * @param examineRemarks 审核备注
     * @return 审核结果
     */
    Result updateSetmealExamine(Long setmealId, Integer auditStatus, String examineRemarks);
    
    /**
     * 导出公司与学校相关联的套餐的订单详情excel
     */
    void downloadCountCompanySchoolSetmeal(HttpServletResponse response, String timeValue) throws IOException;
   
    /**
     * 套餐条件列表
     *
     * @param pageNum     页码
     * @param pageSize    每页数量
     * @param setmealName 套餐名称
     * @param companyId   所属餐饮公司id
     * @param category    套餐类型
     * @param auditStatus 审核状态
     * @param status      状态
     * @return 套餐列表
     */
    Result<Page<SetmealAndOrderInfoVO>> setmealPage(Integer pageNum, Integer pageSize, String setmealName, Long companyId, String category, Integer auditStatus, Integer status);
}
